﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Giaipt
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //H.KHANG...........................

        public void GiaiPTBacI(float b, float c)
        {
	// QNR: bang bang cheo cheo
            if (b == 0 && c == 0)
            {
                //xuat chuoi vo so nghiem
                MessageBox.Show("PT có vô số nghiệm..!!", "Result");
                return;
            }
            if (b == 0 && c != 0)
            {
                //xuat chuoi vo nghiem
                MessageBox.Show("PT vô nghiệm..!!", "Result");
                return;
            }
            if (b != 0)
            {
                float kq = (-c) / b;
                //Xuat KQ ra giao dien, ma do chua co giao dien...
                MessageBox.Show("PT có 1 nghiệm duy nhất..!!", "Result");
                textBox4.Text = kq.ToString("0.00000");
                textBox5.Text = textBox4.Text;
            }
        }

        //H.K.End........................................

        //<HSon>
        public float TinhDelta(float a, float b, float c)
        {
            return b * b - 4 * a * c;
        }
        //</HSon>

        //QNR
        private float TinhNghiemKhiDeltaBang0(float a, float b)
        {
            // Tất nhiên đã thỏa mãn điều kiện a != 0
            return -b / 2 * a;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            float a = (float)Convert.ToDouble(textBox1.Text);
            float b = (float)Convert.ToDouble(textBox2.Text);
            float c = (float)Convert.ToDouble(textBox3.Text);

            if (a == 0)
            {
                GiaiPTBacI(b, c);
            }
            else
            {
                float delta = TinhDelta(a, b, c);
                if (delta == 0)
                {
                    MessageBox.Show("PT có 1 nghiệm duy nhất..!!", "Result");
                    textBox4.Text = TinhNghiemKhiDeltaBang0(a, b).ToString("0.00000");
                    textBox5.Text = textBox4.Text;
                }
                else if (delta > 0)
                {
                    MessageBox.Show("PT có 2 nghiệm phân biệt..!!", "Result");
                }
                else // delta < 0
                {
                    MessageBox.Show("PT vô nghiệm..!!", "Result");
                }
            }
        }
        //QNR
    }
}
